"""带家长控制的智能播放器扩展，实现播放接口规范"""

from PyQt5.QtCore import pyqtSignal, QObject
from player import 音频播放器
from core.interfaces import 播放器接口, 家长控制接口

class 智能播放器(音频播放器, 播放器接口):
    """扩展基础播放器，添加家长控制和网络服务集成"""
    def __init__(self, 主窗口=None):
        super().__init__()
        
        # 初始化家长控制模块
        self.家长控制 = 家长控制模块(self)
        
        # 网络服务注册表
        self.网络服务 = {}
    
    def 注册网络服务(self, 服务):
        """注册网络服务实现（歌词获取、云同步等）"""
        self.网络服务.update(服务)
    
    def 播放(self):
        """带家长控制的播放方法"""
        if self.家长控制.检查播放权限():
            super().播放()
            if 'cloud' in self.网络服务:
                self.网络服务['cloud'].记录播放历史(self.currentMedia())
    
    def 设置音量(self, 音量):
        """带安全限制的音量设置"""
        限制音量 = max(0, min(音量, 80))  # 限制最大音量为80
        super().设置音量(限制音量)
        
    
    def 加载歌词(self, 歌曲路径):
        """增强型歌词加载，包含内容过滤"""
        if 'lyrics' in self.网络服务:
            def 回调(歌词文本):
                if self.家长控制.检查内容安全(歌词文本):
                    self._处理有效歌词(歌词文本)
                else:
                    self._处理敏感内容()
            
            self.网络服务['lyrics'].歌词就绪.connect(回调)
            self.网络服务['lyrics'].获取歌词(歌曲路径)
        